大家早安~~~今天來進行行前特訓啦
首先不知道大家記不記得如何input跟output?
那我來簡單帶過~
我怕各位也忘記如何開啟專案了,來簡單說說
打開 Visual Studio 2022
選擇建立新的專案
接下來選擇主控台應用程式,要注意圖標右上角要顯示C#,不要開到VB去喔
再來這邊應該不用特別講吧,要注意的是,專案名稱不能用中文(我記得是這樣)
我們名稱就打上 project 吧,路徑放在自己容易找到的地方
好了就按下一步
架構這裡勾選不要使用最上層語句(其實不勾也沒關係,就只是會有點不一樣)
然後直接建立
進來後會長這樣
應該不用過多介紹UI吧?
簡單來說,左邊是我們打code的地方,右上是專案總管,專案資料夾的東西都會在這裡,左下現在用不到
然後如果剛剛沒有勾選不要使用最上層語句的話,這裡面只會有一句
Console.WriteLine("Hello, World!");
正常來說會顯示
using System;
namespace project
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
好~看到這邊應該看到關鍵了吧?
輸出就是Console.WriteLine()
,那輸入呢?
輸入的話一樣有Read跟ReadLine
Console類別的方法 | 說明 |
---|---|
Write | 將輸出串流(Output Stream)由指定的輸出裝置(預設是螢幕)顯示出來。 |
WriteLine | 將輸出串流(Output Stream)及換行控制字元(Carriage return)由指定的輸出裝置(預設是螢幕)顯示出來。 |
Read | 由指定輸入裝置(預設是鍵盤)將鍵入的一個字元讀進來形成一個輸入串流(Input Stream)並放入指定的變數。 |
ReadLine | 由指定輸入裝置(預設是鍵盤)將鍵入的一行字串讀進來形成一個輸入串流(Input Stream)並放入指定的變數。也就是ReadLine()方法允許接受一連串的輸入串流(一行字元)直到按下Enter。 |
那既然都談到輸入輸出了,那我們來說說格式化輸出
讓我們看看吧!
字元 | 功能 |
---|---|
C或c | 以貨幣方式顯示資料,以$開頭 |
Dn或dn | 以指定n位數顯示十進位資料,空白處補0 |
E或e | 以指數方式顯示資料 |
Fn或fn | 以小數有n位來顯示資料 |
G或g | 以一般格式顯示 |
N或n | 使用千位符號但不包含$符號,若為N1表保留小數至第一位,若為N或N2都保留小數至第二位 |
X或x | 資料以16進制顯示 |
範例:
int num1 = 123456, num2 = -123456;
double num3 = 987.654, num4 = -987.654;
Console.WriteLine("num1=" + num1 + " num2=" + num2 + " num3=" + num3 + " num4=" + num4);
Console.WriteLine("num3 num4的C/c3格式:");
Console.WriteLine("num3= {0:C} num4={1:c3}", num3, num4);
Console.WriteLine("num1 num2的D9/d3/D格式:");
Console.WriteLine("num1= {0:D9} num2={1:d3} num2={2:D}", num1, num2, num2);
Console.WriteLine("num3 num4的E/e2格式:");
Console.WriteLine("num3= {0:E} num4={1:e3}", num3, num4);
Console.WriteLine("num3 num4的F1/f格式:");
Console.WriteLine("num3= {0:F1} num4={1:f}", num3, num4);
Console.WriteLine("num3 num4的G3/g/G/g4格式:");
Console.WriteLine("num3= {0:G3} num4={1:g} num3= {0:G} num4={1:g4}", num3, num4);
Console.WriteLine("num1 num2的N3/n格式:");
Console.WriteLine("num1= {0:N3} num2={1:n}", num1, num2);
Console.WriteLine("num1 num2的X格式:");
Console.WriteLine("num1= {0:X} num2={1:x}", num1, num2);
但...各位勇者是不是發現
我剛剛的示範好像跟上面說的不一樣啊!
等等喔~因為還有一個叫做自訂數值格式輸出字串
格式字元 | 功能 |
---|---|
0:零值預留位置 | 若顯示數值的位數比設定格式的位數小,資料向右靠齊顯示,未用到的位數以0取代。若數值資料比設定格式位數大,則以該數值大小直接顯示。 |
#:數字預留位置 | 若顯示數值的位數比設定格式的位數小,資料向右靠齊顯示,未用到的位數以空白取代。若數值資料比設定格式位數大,則以該數值大小直接顯示。 |
.:小數點 | 由小數點右邊的位數來決定小數的位數,若資料的小數位數超過設定的小數位數,會做四捨五入。小數前後可使用#或0格式字元。 |
,:千位分隔符號和數值縮放 | 使用千位分隔符號,若千位分隔符號放一個在最後面,該數值會除以1000顯示,連續兩個千位分隔字元除以1000000,以此類推。 |
%:百分比預留位置 | 使用%格式字元會將數值除以100顯示。 |
E:科學標記法 | 使用科學記號會以指數方式顯示。 |
\:溢出字元 | 使用溢出字元,接在溢出字元後面的字元會被當作指定的特殊意義來處理。 |
'ABC'|"ABC":常值字串 | 使用單/雙引號,會將括住的字串複製到輸出字串內直接顯示出來。 |
範例:
double m1 = 0912345678, m3 = -2.455, m4 = 100000000, m5 = 0.075, m6 = 0.512458;
int m2 = -12345;
Console.WriteLine("1. " + m1.ToString("(0#) ########"));
Console.WriteLine("2. " + m2.ToString("######"));
Console.WriteLine("3. " + m2.ToString("000000"));
Console.WriteLine("4. " + m3.ToString("#.##"));
Console.WriteLine("5. " + m3.ToString("0.00000"));
Console.WriteLine("6. " + m3.ToString("00.00"));
Console.WriteLine("7. " + m4.ToString("#,#"));
Console.WriteLine("8. " + m4.ToString("#,") + "k");
Console.WriteLine("9. " + m4.ToString("#,,") + "M");
Console.WriteLine("10. " + m4.ToString("#,#,") + "k");
Console.WriteLine("11. " + m5.ToString("#0.##%"));
Console.WriteLine("12. " + m5.ToString("#0.##%"));
Console.WriteLine("13. " + m4.ToString("#0.##E+0"));
Console.WriteLine("14. " + m1.ToString("[0###-###-###]"));
再來最後,如果我們要插入'、"、\
等等字元的話,該怎麼辦呢?
溢出序列字元 | 說明 |
---|---|
\' | 插入一個單引號。 |
\" | 插入一個雙引號。 |
\\ | 插入一個倒斜線,當程式定義檔案路徑時有用。 |
\a | 觸發一個系統的警告聲。 |
\b | 退一格。 |
\n | 換一行。 |
\r | 游標移到目前該行最前面。 |
\t | 插入水平跳格到字串中。 |
\udddd | 插入一個Unicode字元。 |
\v | 插入垂直跳格到字串中。 |
\0 | 代表一個空字元。 |
簡單示範一下:
string str1 = "勇者說:\"嗨!C#世界\"";
Console.Write("\t" + str1);
Console.WriteLine("\t" + "美好世界我來了!");
Console.Write("\n我是OOXX\n");
Console.WriteLine("D:\\VS 2022");
Console.WriteLine(@"D:\VS 2022");
好!今天就先這樣吧!
休息喽~~~
2023鐵人賽